﻿
// ScConnectorDlg.h: 头文件
//

#pragma once


// CScConnectorDlg 对话框
class CScConnectorDlg : public CDialogEx
{
// 构造
public:
	CScConnectorDlg(CWnd* pParent = nullptr);	// 标准构造函数

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_SCCONNECTOR_DIALOG };
#endif

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedButtonExplore();
	afx_msg void OnBnClickedButtonLaunch();
	
private:
	// 主程序访问路径文本框
	CEdit mEditScExePath;
	// 服务器域名
	CEdit mEditScServerDomain;
	// 服务器端口
	CEdit mEditScServerPort;

	// 设置为窗口化选项
	CButton mBtnSetWindowMode;

	// 设置启动窗口为全屏
	CButton mBtnSetFullScreen;
	// 窗口化时根据屏幕自适应
	CButton mCheckWindowAutoAdapt;
	// 自定义窗口宽度
	CEdit mEditCustomWindowWidth;
	// 自定义窗口高度
	CEdit mEditCustomWindowHeight;
	
	// 配置文件路径
	TCHAR szConfigFilePath[MAX_PATH];
	// DDraw配置文件路径
	TCHAR szDDrawConfigFilePath[MAX_PATH];
	// hook dll路径
	TCHAR szScHookDllPath[MAX_PATH];
	
public:
	afx_msg void OnBnClickedRadioSetWindowMode();
	afx_msg void OnBnClickedRadioSetFullScreen();
	afx_msg void OnBnClickedCheckWindowAutoAdapt();

private:
	void ReadSettingFromConfigFile();
	void WriteSettingToConfigFile();

	void SetDDrawConfig();
};

#pragma pack(1)
typedef struct {
	TCHAR domain[128];
	TCHAR port[16];
} ScServerConfig;
#pragma pack()